package com.yanqu.road.dataHelper.action;

import com.yanqu.road.dataHelper.action.excel.ChangeTitle;
import com.yanqu.road.dataHelper.gameServer.GameServer;
import com.yanqu.road.dataHelper.manager.ServerMgr;
import com.yanqu.road.entity.servercenter.ServerInfo;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class ChangeTitleExcel extends actionBase{

    public void go(List<Long> serverList){
        ExecutorService executorService = Executors.newFixedThreadPool(5);
        List<Future> futureList = new ArrayList<>();
        for(Long serverId : serverList){
            if(ServerMgr.getServerInfoList().containsKey(serverId)){
                ServerInfo serverInfo = ServerMgr.getServerInfoList().get(serverId);
                Future future = executorService.submit(new Callable<Boolean>() {
                    @Override
                    public Boolean call() throws Exception {
                        GameServer testGameServer = new GameServer(serverInfo);
                        ChangeTitle changeTitle = new ChangeTitle(testGameServer);
                        changeTitle.go();
                        return true;
                    }
                });
                futureList.add(future);
            }
        }
        isResult(futureList);
    }
}
